package cc.rengu.igas.channel.cups.facade;

import cc.rengu.igas.channel.cups.facade.request.CupsLineTestRequest;
import cc.rengu.igas.channel.cups.facade.request.CupsResetKeyRequest;
import cc.rengu.igas.channel.cups.facade.request.CupsSignInRequest;
import cc.rengu.igas.channel.cups.facade.request.CupsSignOutRequest;
import cc.rengu.igas.channel.cups.facade.response.CupsLineTestResponse;
import cc.rengu.igas.channel.cups.facade.response.CupsResetKeyResponse;
import cc.rengu.igas.channel.cups.facade.response.CupsSignInResponse;
import cc.rengu.igas.channel.cups.facade.response.CupsSignOutResponse;
import cc.rengu.igas.channel.cups.facade.result.Result;

/**
 * 渠道对接公共服务
 */
public interface CupsManagerService {
    /**
     * 银联cups签到服务
     *
     * @param request 请求信息
     * @return 响应信息
     */
    Result<CupsSignInResponse> cupsSignIn(CupsSignInRequest request);

    /**
     * 银联cups签退服务
     *
     * @param request 请求信息
     * @return 响应信息
     */
    Result<CupsSignOutResponse> cupsSignOut(CupsSignOutRequest request);

    /**
     * 银联cups线路测试服务
     *
     * @param request 请求信息
     * @return 响应信息
     */
    Result<CupsLineTestResponse> cupsLineTest(CupsLineTestRequest request);

    /**
     * 银联cups重置密钥服务
     *
     * @param request 请求信息
     * @return 响应信息
     */
    Result<CupsResetKeyResponse> resetCupsKey(CupsResetKeyRequest request);
}
